#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdbool.h>
#include<string.h>
#if 0
struct ListNode {
    int val;
    struct ListNode* next;
};
bool hasCycle(struct ListNode* head) {
    struct ListNode* slow = head;
    struct ListNode* fast = head;
    while (fast && fast->next)
    {
        slow = slow->next;
        fast = fast->next->next;
        if (fast == slow)
        {
            return true;
        }
    }
    return false;
}
struct ListNode* Meet(struct ListNode* phead)
{
    struct ListNode* fast = phead, * slow = phead;
    while (fast && fast->next)
    {
        slow = slow->next;
        fast = fast->next->next;
        if (fast == slow)
        {
            return fast;
        }
    }
    return NULL;
}
struct ListNode* detectCycle(struct ListNode* head) {
    struct ListNode* meet = Meet(head);
    struct ListNode* hhead = head;
    if (meet == NULL)
    {
        return NULL;
    }
    while (meet != hhead)
    {
        meet = meet->next;
        hhead = hhead->next;
    }
    return hhead;
}
#endif

int main()
{
    char str[30];
    scanf("%s", str);
    size_t len = strlen(str);
    char* lift = str;
    char* ringt = str + len - 1;
    while (lift < ringt)
    {
        char ch = *lift;
        *lift = *ringt;
        *ringt = ch;
        lift++;
        ringt--;
    }
    printf("%s", str);
	return 0;
}